От рекуррентных моделей к вниманию: решение проблем последовательного моделирования
Традиционное последовательное моделирование в значительной степени опиралось на рекуррентные нейронные сети (RNN) и их варианты с гейтами (LSTM, GRU). Хотя они были революционными для первых задач преобразования последовательностей, эти архитектуры страдают от фундаментальных проблем масштабируемости при работе с длинными зависимостями. Введение механизмов внимания стало ключевым концептуальным прорывом, позволившим преодолеть эти ограничения и создать современные, высокоэффективные системы обработки естественного языка.
1. Проблема долгих зависимостей
В рекуррентных сетях путь зависимости между токеном $t_i$ и токеном $t_j$ должен последовательно проходить все промежуточные шаги. Это заставляет сигнал градиента во время обратного распространения многократно умножаться через матрицы весов, что вызывает быстрое затухание (исчезновение градиента) сигнала, из-за чего почти невозможно передавать полезную информацию или сигналы ошибок на большие расстояния в последовательности. Сложность пути составляет $O(N)$.
2. Бутылочное горлышко фиксированного размера контекста
Стандартные кодировщик-декодировщик архитектуры до появления внимания требовали сжатия всей смысла исходной последовательности, независимо от её длины, в один вектор фиксированной размерности ( вектор контекста, $C$). Этот бутылочный горлышко серьёзно ограничивает способность модели сохранять всю необходимую информацию, особенно при работе с длинными или сложными входами, что приводит к критической потере информации на этапе декодирования.
Contrast the dependency path length required by:
- Traditional Recurrence (e.g., LSTM)
- Attention Mechanism (Query-Key comparison)
Attention creates a direct, non-sequential connection between any output token $Y_j$ and any input token $X_i$ by calculating a weight based on their vector similarity ($Q_j K_i^T$). The dependency path length is effectively $O(1)$ (a direct look-up), removing the constraint of linear path traversal imposed by recurrence ($O(N)$).